
package com.cctv.ppm.schema.ppm_commondatatypes._0;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;


/**
 * 中插广告时段信息
 * 
 * <p>BreakAdvertisingTimeslotType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="BreakAdvertisingTimeslotType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="BroadcastListItemID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}BroadcastListItemIDType"/&gt;
 *         &lt;element name="AdSegmentMarkIn" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}InnerPointIDType"/&gt;
 *         &lt;element name="BroadcastInnerSegmentID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}BroadcastListItemIDType"/&gt;
 *         &lt;element name="AdSegmentSeq" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/&gt;
 *         &lt;element name="AdProgramCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ADProgramCodeType"/&gt;
 *         &lt;element name="AdProgramName" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ADProgramNameType"/&gt;
 *         &lt;element name="AudioLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *         &lt;element name="SubtitleLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *         &lt;element name="AdSegmentLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
 *         &lt;element name="ProgramCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ProgramCodeType"/&gt;
 *         &lt;element name="ProgAudioLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *         &lt;element name="ProgSubtitleLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *         &lt;element name="PlayTime" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayTimeType"/&gt;
 *         &lt;element name="AdSegmentID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}AdSegmentIDType"/&gt;
 *         &lt;element name="IsChannelBranding" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
 *         &lt;element name="ChannelPackingItemCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelPackingItemCode"/&gt;
 *         &lt;choice&gt;
 *           &lt;element name="AdProgBcastSch" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}AdProgBcastSchType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *           &lt;element name="AdProgBcastResult" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}AdProgBcastResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;/choice&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BreakAdvertisingTimeslotType", propOrder = {
    "broadcastListItemID",
    "adSegmentMarkIn",
    "broadcastInnerSegmentID",
    "adSegmentSeq",
    "adProgramCode",
    "adProgramName",
    "audioLanguage",
    "subtitleLanguage",
    "adSegmentLength",
    "programCode",
    "progAudioLanguage",
    "progSubtitleLanguage",
    "playTime",
    "adSegmentID",
    "isChannelBranding",
    "channelPackingItemCode",
    "adProgBcastSch",
    "adProgBcastResult"
})
public class BreakAdvertisingTimeslotType {

    @XmlElement(name = "BroadcastListItemID", required = true)
    protected String broadcastListItemID;
    @XmlElement(name = "AdSegmentMarkIn", required = true)
    protected String adSegmentMarkIn;
    @XmlElement(name = "BroadcastInnerSegmentID", required = true)
    protected String broadcastInnerSegmentID;
    @XmlElement(name = "AdSegmentSeq", required = true)
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger adSegmentSeq;
    @XmlElement(name = "AdProgramCode", required = true)
    protected String adProgramCode;
    @XmlElement(name = "AdProgramName", required = true)
    protected String adProgramName;
    @XmlElement(name = "AudioLanguage", required = true)
    protected LanguageType audioLanguage;
    @XmlElement(name = "SubtitleLanguage", required = true)
    protected LanguageType subtitleLanguage;
    @XmlElement(name = "AdSegmentLength", required = true)
    protected String adSegmentLength;
    @XmlElement(name = "ProgramCode", required = true)
    protected String programCode;
    @XmlElement(name = "ProgAudioLanguage", required = true)
    protected LanguageType progAudioLanguage;
    @XmlElement(name = "ProgSubtitleLanguage", required = true)
    protected LanguageType progSubtitleLanguage;
    @XmlElement(name = "PlayTime", required = true)
    protected String playTime;
    @XmlElement(name = "AdSegmentID", required = true)
    protected String adSegmentID;
    @XmlElement(name = "IsChannelBranding")
    protected boolean isChannelBranding;
    @XmlElement(name = "ChannelPackingItemCode", required = true, nillable = true)
    protected String channelPackingItemCode;
    @XmlElement(name = "AdProgBcastSch")
    protected List<AdProgBcastSchType> adProgBcastSch;
    @XmlElement(name = "AdProgBcastResult")
    protected List<AdProgBcastResultType> adProgBcastResult;

    /**
     * 获取broadcastListItemID属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBroadcastListItemID() {
        return broadcastListItemID;
    }

    /**
     * 设置broadcastListItemID属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBroadcastListItemID(String value) {
        this.broadcastListItemID = value;
    }

    /**
     * 获取adSegmentMarkIn属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdSegmentMarkIn() {
        return adSegmentMarkIn;
    }

    /**
     * 设置adSegmentMarkIn属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdSegmentMarkIn(String value) {
        this.adSegmentMarkIn = value;
    }

    /**
     * 获取broadcastInnerSegmentID属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBroadcastInnerSegmentID() {
        return broadcastInnerSegmentID;
    }

    /**
     * 设置broadcastInnerSegmentID属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBroadcastInnerSegmentID(String value) {
        this.broadcastInnerSegmentID = value;
    }

    /**
     * 获取adSegmentSeq属性的值。
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getAdSegmentSeq() {
        return adSegmentSeq;
    }

    /**
     * 设置adSegmentSeq属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setAdSegmentSeq(BigInteger value) {
        this.adSegmentSeq = value;
    }

    /**
     * 获取adProgramCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdProgramCode() {
        return adProgramCode;
    }

    /**
     * 设置adProgramCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdProgramCode(String value) {
        this.adProgramCode = value;
    }

    /**
     * 获取adProgramName属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdProgramName() {
        return adProgramName;
    }

    /**
     * 设置adProgramName属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdProgramName(String value) {
        this.adProgramName = value;
    }

    /**
     * 获取audioLanguage属性的值。
     * 
     * @return
     *     possible object is
     *     {@link LanguageType }
     *     
     */
    public LanguageType getAudioLanguage() {
        return audioLanguage;
    }

    /**
     * 设置audioLanguage属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link LanguageType }
     *     
     */
    public void setAudioLanguage(LanguageType value) {
        this.audioLanguage = value;
    }

    /**
     * 获取subtitleLanguage属性的值。
     * 
     * @return
     *     possible object is
     *     {@link LanguageType }
     *     
     */
    public LanguageType getSubtitleLanguage() {
        return subtitleLanguage;
    }

    /**
     * 设置subtitleLanguage属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link LanguageType }
     *     
     */
    public void setSubtitleLanguage(LanguageType value) {
        this.subtitleLanguage = value;
    }

    /**
     * 获取adSegmentLength属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdSegmentLength() {
        return adSegmentLength;
    }

    /**
     * 设置adSegmentLength属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdSegmentLength(String value) {
        this.adSegmentLength = value;
    }

    /**
     * 获取programCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProgramCode() {
        return programCode;
    }

    /**
     * 设置programCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProgramCode(String value) {
        this.programCode = value;
    }

    /**
     * 获取progAudioLanguage属性的值。
     * 
     * @return
     *     possible object is
     *     {@link LanguageType }
     *     
     */
    public LanguageType getProgAudioLanguage() {
        return progAudioLanguage;
    }

    /**
     * 设置progAudioLanguage属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link LanguageType }
     *     
     */
    public void setProgAudioLanguage(LanguageType value) {
        this.progAudioLanguage = value;
    }

    /**
     * 获取progSubtitleLanguage属性的值。
     * 
     * @return
     *     possible object is
     *     {@link LanguageType }
     *     
     */
    public LanguageType getProgSubtitleLanguage() {
        return progSubtitleLanguage;
    }

    /**
     * 设置progSubtitleLanguage属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link LanguageType }
     *     
     */
    public void setProgSubtitleLanguage(LanguageType value) {
        this.progSubtitleLanguage = value;
    }

    /**
     * 获取playTime属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlayTime() {
        return playTime;
    }

    /**
     * 设置playTime属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPlayTime(String value) {
        this.playTime = value;
    }

    /**
     * 获取adSegmentID属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdSegmentID() {
        return adSegmentID;
    }

    /**
     * 设置adSegmentID属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdSegmentID(String value) {
        this.adSegmentID = value;
    }

    /**
     * 获取isChannelBranding属性的值。
     * 
     */
    public boolean isIsChannelBranding() {
        return isChannelBranding;
    }

    /**
     * 设置isChannelBranding属性的值。
     * 
     */
    public void setIsChannelBranding(boolean value) {
        this.isChannelBranding = value;
    }

    /**
     * 获取channelPackingItemCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getChannelPackingItemCode() {
        return channelPackingItemCode;
    }

    /**
     * 设置channelPackingItemCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setChannelPackingItemCode(String value) {
        this.channelPackingItemCode = value;
    }

    /**
     * Gets the value of the adProgBcastSch property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the adProgBcastSch property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAdProgBcastSch().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link AdProgBcastSchType }
     * 
     * 
     */
    public List<AdProgBcastSchType> getAdProgBcastSch() {
        if (adProgBcastSch == null) {
            adProgBcastSch = new ArrayList<AdProgBcastSchType>();
        }
        return this.adProgBcastSch;
    }

    /**
     * Gets the value of the adProgBcastResult property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the adProgBcastResult property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAdProgBcastResult().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link AdProgBcastResultType }
     * 
     * 
     */
    public List<AdProgBcastResultType> getAdProgBcastResult() {
        if (adProgBcastResult == null) {
            adProgBcastResult = new ArrayList<AdProgBcastResultType>();
        }
        return this.adProgBcastResult;
    }

}
